Maple 2025 Questions and Posts

These are Posts and Questions associated with the product, Maple 2025

Any idea why plot fail when adding legend and using {1} instead of [1] ? Since both have one curve.

Maple 2026 and 2025.2. searched help but do not see anything on this so far.

restart;

plot({1},x = -10 .. 10,'legend'="A");

Error, (in plot) the legend option cannot be used when plotting a set of objects

plot([1],x = -10 .. 10,'legend'="A");

 

 

Download plot_legend_problem_march_25_2026.mw

Can someone explain what the meaning of "visible character width" for e.g. TextArea components is?

My understanding is that the width should correspond to the number of characters that are visible in the TextArea. But apparently this is not the case.

A definition of 4 allows at least 8 characters. A definition of 6 at least 12, 8 gives 16 and 10 gives 20.

Test_visible_character_width.mw

I defined two tensors (vectors) U and D and their components in Maple 2025 using the Physics package. I enter U[~alpha]*U[alpha] and get a symbolic result. SumOverRepeatedIndices expands this but does not substitutes the expressions of the components I gave. How to force Maple to use the values of the components?

Thank you!

Hello Friends.

I have created two piecewise functions: dx(t) and dy(t).  I then converted them to RandomVariables:  DX and DY.  When I try to perform a mathematical operation on the random variables, I get a Dirac function, which is unintended.  When I read about this issue, I learned that flawed (discontinuous) piecewise functions may be the problem.  However, my piecewise functions look ok to me.

Does anyone know why this is happening?  I do expect a lenghty result when I process the random variables, but not a Dirac function.  My code is below:

TriangleEuclidean.mw

Could someone please help me understand this

restart;
expr:=(A*x-1 )/x
eval(expr,x=infinity)
    # 0    why?

limit(expr,x=infinity)
   # A correct

How did Maple evaluate expr to zero when x=infinity? What math did it use to obtain this result? Did it may be just saw infinity in denominator and said the whole thing therefore is zero?  But there is infinity in the numerator also and infinity/infinity is not defined.

Maple 2026 and Maple 2025.5 on windows 10

Maple 2026 and 2025.2 can't solve this ode.  It actually hangs which is worst.

The ode is from a textbook

ode:=x*diff(y(x),x) = y(x)*cos(ln(y(x)/x)); 
dsolve(ode,y(x), singsol=all);

It just gets stuck.

But we see by just inspection that y(x)=x is a solution

odetest(y(x)=x,ode)

Gives zero. I solved this also by hand as HOMOGENEOUS and got y(x)=x

Trace shows Maple hangs in "trying homogeneous D" for some unknown reason

CPU is also running very high, which seems it is stuck in a LOOP internally.

Any one could shed more light what is happening here and why it hangs on this basic ode? I think the hang in loop could indicate a bug.

Any older version of Maple able to solve this?

While teaching a linear programming course I put together a worksheet to illustrate finding the largest disk inside a convex polygon as in section 2.6 of Understanding and Using Linear Programming by Jiří Matoušek and Bernd Gärtner.  I used both the Optimization[LPSolve] and the simplex[maximize] routines with the same objective and the same constraints.  Optimization[LPSolve] gives the correct answer but simplex[maximize] does not.  Is this a bug or did I do something wrong?

Below is the worksheet.

This is a worksheet I put together to illustrate finding the largest disk inside a convex polygon

as in section 2.6 of Understanding and Using Linear Programming by Jiří Matoušek and
Bernd Gärtner.

 

Load some packages

restart;
with(plots):
with(LinearAlgebra):
with(simplex);
with(Optimization);
with(plottools):

[basis, convexhull, cterm, define_zero, display, dual, feasible, maximize, minimize, pivot, pivoteqn, pivotvar, ratio, setup, standardize]

 

[ImportMPS, Interactive, LPSolve, LSSolve, Maximize, Minimize, NLPSolve, QPSolve]

(1)

This is the definition of the polygon with a plot.

constr := [x>=0,y>=0,y-x<=1,x+y<=5,2*x-y<=6];
Vector(%);
P1 := inequal(constr,x=-1..5,y=-1..5,optionsfeasible=[color=yellow]);

These are the outward normals for the polygon constraints and the "b" values.

C := [<-1,0>,<0,-1>,<-1,1>,<1,1>,<2,-1>];
b:= [0,0,1,5,6];

This is a check that a point is inside the polygon with plots of the circle that show the distance

from the pont to each defining line.

Pt := <1,.5>;
Pta := convert(Pt,list);
map(is,subs({x=2,y=1},constr));

DistV := [seq((b[i]-DotProduct(C[i],Pt))/Norm(C[i],2),i=1..5)]

P2 := NULL:
for i from 1 to 5 do
   P2 := P2,plottools:-circle(Pta,DistV[i],color=cat("Bright ",i),thickness=2);
   end do:
display([P2,P1],scaling=constrained);
display(map(display,[seq([P1,[P2][i]],i=1..5)]),insequence=true,scaling=constrained);

Now the distance from a point in the polygon to the boundary of the polygon is defined

and plotted over the polygon.

f := proc(x,y)
     local i;
      uses LinearAlgebra;
     min([seq(((b[i]-DotProduct(C[i],<x,y>))/Norm(C[i],2)),i=1..5)]);
     end proc;

plot3d(f(x,y),x=-1..5,y=-1..5,view=[0..4,0..4,0..2],grid=[151,151]);

 

This is the definition of the LP to solve the largest disk problem.

 

We maximize z, a variable less than or equal to the distance from the point x, y to each of the

constraining lines where x, yis in the polygon.

 

C := [<-1,0>,<0,-1>,<-1,1>,<1,1>,<2,-1>];
b:= [0,0,1,5,6];

Here are the constraints.

obj := z;
constr1 := [x>=0,y>=0,y-x<=1,x+y<=5,2*x-y<=6];
constr2 := [seq(z<=(b[i]-DotProduct(C[i],<x,y>))/Norm(C[i],2),i=1..5)];

This is the solution using LPSolve.

soln1 := LPSolve(z,[op(constr1),op(constr2)],maximize);

This is the same problem solved with simplex[maximize].

soln2 := simplex:-maximize(z,[op(constr1),op(constr2)]);
evalf(%);

The answer from the simplex package is wrong as the following plots demonstrate.

 

What, if anything, did I do wrong?

constr := [x>=0,y>=0,y-x<=1,x+y<=5,2*x-y<=6]:
P1 := inequal(constr,x=-1..5,y=-1..5,optionsfeasible=[color=yellow]):
Pt1 := subs(soln1[2],[x,y]);
C1 := disk(Pt1,soln1[1],color=red):
display(C1,P1);
Pt2 := subs(soln2,[x,y]);
r2 := subs(soln2,z);
C2 := disk(Pt2,r2,color=red):
display(C2,P1);

 

 

Download inscribe_circle.mw

sol:=ln( (y-1)^(1/3)* (y^2+y+1)^(1/3) ) - ln(y) = 2/5* ln(t^2+1)+_C1;
solve( sol,y);

in real domain is fine also. But all my attempts failed. I waited 3-4 minutes each time and stopped it.

Any one can find a trick? Below worksheet showing my attempts and also solution by Mathematica which took 0.3 seconds

Make sure to save all your work first. This problem is known to crash Maple !

restart;

sol:=ln( (y-1)^(1/3)* (y^2+y+1)^(1/3) ) - ln(y) = 2/5* ln(t^2+1)+_C1;
solve( sol,y) assuming real;

ln((y-1)^(1/3)*(y^2+y+1)^(1/3))-ln(y) = (2/5)*ln(t^2+1)+_C1

Warning,  computation interrupted

restart;

sol:=ln( (y-1)^(1/3)* (y^2+y+1)^(1/3) ) - ln(y) = 2/5* ln(t^2+1)+_C1;
RealDomain:-solve( sol,y);

ln((y-1)^(1/3)*(y^2+y+1)^(1/3))-ln(y) = (2/5)*ln(t^2+1)+_C1

Warning,  computation interrupted

restart;
sol:=ln( (y-1)^(1/3)* (y^2+y+1)^(1/3) ) - ln(y) = 2/5* ln(t^2+1)+_C1;
solve( sol,y,real);

ln((y-1)^(1/3)*(y^2+y+1)^(1/3))-ln(y) = (2/5)*ln(t^2+1)+_C1

Warning,  computation interrupted

 


 

Download solve_problem_march_7_2026.mw

 

I never used Maplets before.

Been learning Explore, which is OK, but the UI does not look good. Too much white spaces between sliders.  So been looking at Maplets to use instead.

Should one just use Maplets to make interactive demos with sliders, buttons, popup menus and so on or use Explore? Which is better?

I do not waste more time learning Explore more if Maplets is a better choice.

If someone here knows Maplets, here is something I just wrote in Explore.  Could this be coded in Maplets to see how it will look like. It took me 30 minutes to make it using Explore and I am no expert in Explore, so hopefully it should not take someone who knows Maplets much time to produce same thing as Maplet. I wanted to see if the UI will look better or same issues with too wasted spaces between sliders.  I assume with Maplets, there is same concept as Explore, with range of variables, and initial values and so on...

I understand one can run Maplet using Maple viewer without needing to have Maple installed on the PC, so this is an advantage.

restart;

ode_1 := diff(x(t),t) = r*x(t) *(1-(x(t)+beta*y(t))/k1):
ode_2 := diff(y(t),t) = k*y(t) *(1-(y(t)+alpha*x(t))/k2):

Explore(DEtools:-DEplot(
     [ ode_1, ode_2],[x(t),y(t)],t=0..max_time,[[x(0)=x0,y(0)=y0]],
     x=0..max_x, y=0..max_y,'labels'=["Elk","Deer"],'dirfield'=[ngrid,ngrid],
     'arrows'='SLIM', #'smalltwo',
     'axes'='boxed', 'color' = blue,'linecolor'='red',#color of solution
     'obsrange'=false,
     'title'="Lotka -Volterra Model of Competition"
     ),
    parameters=[
     [r=0..5,'controller' = 'slider','minorticks'=.1,'snaptoticks'=true, 'label' = "Elk growth rate r",'showlabels'=false,placement='right'],
     [alpha=0..2,'controller' = 'slider','minorticks'=.1,'snaptoticks'=true, 'label' = "Elk competition alpha",'showlabels'=false,placement='right'],
     [k1=100..1000,'controller' = 'slider','minorticks'=10,'snaptoticks'=true, 'label' = "Elk carrying capacity",'showlabels'=false,placement='right'],
     [k=0..5,'controller' = 'slider','minorticks'=.1,'snaptoticks'=true, 'label' = "Deer growth rate k",'showlabels'=false,placement='right'],
     [beta=0..2,'controller' = 'slider','minorticks'=.1,'snaptoticks'=true, 'label' = "Deer competition beta",'showlabels'=false,placement='right'],
     [k2=100..1000,'controller' = 'slider','minorticks'=10,'snaptoticks'=true, 'label' = "Deer carrying capacity",'showlabels'=false,placement='right'],
     [max_time=1..200,'controller' = 'slider','minorticks'=1,'snaptoticks'=true, 'label' = "max time",'showlabels'=false,placement='left'],
     [max_x=1..1000,'controller' = 'slider','minorticks'=1,'snaptoticks'=true, 'label' = "max x",'showlabels'=false,placement='left'],
     [max_y=1..1000,'controller' = 'slider','minorticks'=1,'snaptoticks'=true, 'label' = "max y",'showlabels'=false,placement='left'],
     [x0=1..200,'controller' = 'slider','minorticks'=1,'snaptoticks'=true, 'label' = "Deer initial population",'showlabels'=false,placement='left'],
     [y0=1..200,'controller' = 'slider','minorticks'=1,'snaptoticks'=true, 'label' = "Elk initial population",'showlabels'=false,placement='left'],
     [ngrid=10..30,'controller' = 'slider','minorticks'=1,'snaptoticks'=true, 'label' = "arrows",'showlabels'=false,placement='left']     
    ],
    initialvalues=[r=0.12,k1=600,alpha=1.5,k2=600,k=0.18,beta=1.2,x0=75,y0=100,ngrid=24,max_x=700,max_y=700,max_time=100],
    'adaptview'=true
);

 

 

Download lotka_volterra.mw

Screen shot of the UI

 

How would the above look using Maplets instead of Explore?

I just found a rather incredible error in versions 2025.1 and 2025.2.

The function works fine in version 2022.

The drag function in solve does not work, even for solving a very simple problem.

For example, in the equation 1 + 5x = 3x - 1, if I try to do 3x from right to left, a box opens with a good suggestion (subtract   1+2x = -1)

# subtract 3*x from both sides
((1)) + ~(3 * x)
we can see that the correct expression should be ((1)) - ~(3 * x)

I finally get:

1 + 8x = 6x -1 (it added and did not subtract 3x from both sides)

Please correct this...

These are the original set up to solve for second order partial differetial equations:

E := 1.456*10^11;
rho := 7900;
a := sqrt(E/rho);
L := 0.03639;

f0 := 1/(2*L)*a;
f := f0 - 50;
A0 := 11.75*L/2*10^(-6);

d := 0.8*1000;
T0 := 5/f;
NULL;
PDE := diff(u(x, t), t, t) = a^2*diff(u(x, t), x, x) - d*diff(u(x, t), t);
IBC := {u(x, 0) = A0*cos(Pi*x/L), D[1](u)(0, t) = 0, D[1](u)(L, t) = 0, D[2](u)(x, 0) = 0};
pds := pdsolve(PDE, IBC, numeric, timestep = 2*10^(-7));

 I know it solves properly because I can plot it using pds:-plot without problem.  The question is how to extract the value at specific x and t.  I started to try some of the more intuitive way such as u(0,0) without getting an answer.  I tried a number of eval expression such as eval(pds,[x=0,t=0]), eval(u(x,t),[x=0,t=0]) and so on without success.  

Then I tried using :-value as mentioned in an example from the internet, also resulting in an error.

val:=pds:-value(x=0,t=0)

It seems to be simple.  I guess I am too new with maple so be gentle.  Thank you.

Hi,

My student licence  expired yesterday mar1. According to the description of my student licence it renews automatically. So I did not get active. But apparently it did not occur automatically. When starting Maple I get the message that my licence expired yesterday. To check whether the automatic renewal applies but did not work or whether I have to purchase a new licence for the next 12 months I tried to contact the customer support through online form. 

I do not see any other channel to contact customer support by mail or phone, what can I do ?

Manfred

Hello Friends,

I have a function f(t) which I would like to convolve with itself.  I have no problem doing that typically, but my function contains two elliptic integrals (EllipticE and EllipticK), which clearly complicates matters.

My work in included.  As you can see, the plot on the (0,2) interval is continuous, and the area under the curve sums to unity via numerical integration.

with(Statistics)

f := proc (t) options operator, arrow; piecewise(t <= 0, 0, 0 < t and t < 2, (4/3)*t*((4+t^2)*EllipticE(sqrt(1-4/t^2))-8*EllipticK(sqrt(1-4/t^2)))/Pi^2, 2 <= t, 0) end proc

proc (t) options operator, arrow; piecewise(t <= 0, 0, 0 < t and t < 2, (4/3)*t*((4+t^2)*EllipticE(sqrt(1-4/t^2))-8*EllipticK(sqrt(1-4/t^2)))/Pi^2, 2 <= t, 0) end proc

(1)

plot(f(t), t = 0 .. 2)

 

evalf(int(f(t), t = 0 .. 2))

1.000000000+0.*I

(2)

Download CircleDerivation2.mw

Are there any sort of transformations that I can employ which will permit me to convole this function with itself?  I realize a closed-form solution is probably not likely, but something approaching closed-form would be nice.  Via simulation, I have learned that the self-convolved function will have a continuous boundary on the (0, 2*sqrt(2)) interval.

nans:=dsolve({(-y^4+y^2)*diff(U(y),y,y)+(-2*y^2+14.2)*diff(U(y),y)*y-15.2*U(y)*(U(y)-1)*(U(y)+1) = 0, DU(.99999) = -.3401375821,U(.99999)= 0.3000034013},numeric);
Error, (in dsolve/numeric/process_input) invalid specification of initial conditions, got DU(.99999) = -.3401375821

Is this a Maple bug? I do not see what I am doing wrong:

restart;

interface(version);

`Standard Worksheet Interface, Maple 2025.2, Windows 10, November 11 2025 Build ID 1971053`

Explore( plots:-textplot([0,0," CRITICAL DAMPING"],'axes'=none),
   initialvalues=[c=1,k=.1],
   parameters=[[c=0..10],[k=0..10]]
   );

 

 

Moving any slider gives the internal error.  Why?

Download internal_error_explore_feb_28_2026.mw

Here is a small movie

1 2 3 4 5 6 7 Last Page 1 of 19